草庐IT

c++ - 避免双重包含 : Preprocessor directive vs. makefile

全部标签

windows - 在 Windows 上使用 cl.exe 手动编译源代码应该包含哪些目录?

如何设置-Icl.exe参数以使我的原始.cpp文件能够编译?我不希望通过调用DeveloperCommandPrompt或vsvars32.bat文件或任何其他将为我设置所有环境变量的.bat文件来完成此操作。我需要知道在我的-I选项中指向什么路径。我的.cpp文件不包含特殊内容。它仅依赖于通常的STL/系统文件。这是包含的内容。#include#include#include#include#include#include#include#include#include#include#include#include 最佳答案

windows - 在断开连接的共享目录中检查文件时避免长时间延迟

检查共享目录中是否存在文件时ifexist\\10.0.0.10\disk\fileechoyes如果共享目录断开连接,我会遇到很长的延迟。我需要一种更快的方法来执行此检查。我试过几种选择pushd\\10.0.0.10\diskifexist\\10.0.0.10\disk\nulnetuse\\10.0.0.10\disk...但是在NotAcceptable长时间延迟之后所有这些都失败了有没有更快(比如不到1秒)的方法?或者是否有任何网络配置参数可以更改此超时?为澄清而编辑问题不是重新连接到特定的共享文件夹。问题是无需等待很长时间就能识别共享文件夹中的文件是否存在。这是一个bat

c - 调用 NdisAcquireSpinLock 后访问全局变量导致 IRQL_NOT_LESS_OR_EQUAL BSoD

我有一个NDIS过滤器驱动程序(WinPcap的更新)并在Windows1010586x64VM上对其进行了测试。我启用了验证器,它在启动Wireshark时导致IRQL_NOT_LESS_OR_EQUALBSoD(也就是使用我的驱动程序的功能)。这是转储:1:kd>!analyze-v**********************************************************************************BugcheckAnalysis******************************************************

c - mainCRTStartup 与 wmainCRTStartup

IunderstandthatVisualC++LinkerchoosesmainCRTStartup/wmainCRTStartupwhenoption/SUBSYSTEMissettoCONSOLE.我不明白的是链接器如何在两者之间进行选择。我在VC2015上用一个简单的程序测试过,如果wmain存在(连main也存在),就调用wmain。否则调用main。 最佳答案 链接器将尝试通过遍历objs的符号表来推断需要哪个入口点例程。它在_main之前搜索_wmain,这就是为什么选择前者,即使您同时拥有两者。然后链接器从您的默认l

c# - 无法将文件路径作为命令行参数传递,其中路径包含空格?

我有一个C#GUI,允许用户选择一个文件,然后针对objdump运行它,将内容输出到GUI。但是,当用户选择路径包含空格的文件时,我遇到了问题,它会导致命令行执行中断。我查看了Stackoverflow,似乎有所有这些针对Windows脚本的hack,因为带空格的路径不容易解决。但是,当我以编程方式传递文件名时,我不能这样做/有没有更简单的方法?这是我的代码:privatevoidbutton1_Click(objectsender,EventArgse){DialogResultresult=openFileDialog1.ShowDialog();if(result==Dialog

c - 使 C 程序在 x 秒后重新启动

在Windows中,是否可以让用C编写的程序停止并在x秒后自行重新启动?如果是,如何实现?? 最佳答案 您可以通过让您的程序启动第二个程序来实现该目标,该程序的唯一功能是等待一段时间,然后再次启动您的第一个程序。在伪代码中,这个想法是:ProgramA:DowhatevertheprogramissupposedtodoLaunchprogramBexit.ProgramB:WaitpredeterminedtimeLaunchprogramAexit.我希望这能充分回答您的问题。 关于

c - WTS_CLIENT_ADDRESS 地址无法正确打印

我正在尝试获取登录到计算机的所有RDP连接的IP地址。我正在使用WTSEnumerateSessions和WTSQuerySessionInformation来检索指向包含地址的WTS_CLIENT_ADDRESS结构的指针。这是代码的一部分:WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE,SessionNo,WTSClientAddress,&ppBuffer,&pBytesReturned);address=(WTS_CLIENT_ADDRESS*)ppBuffer;if(AF_INET==address->AddressF

c - malloc() 并分配 : C code in run well in OS X; not in Win 8. 1

我编写的代码在OSX中没有任何问题,但在VS2013社区上运行时出现以下错误。Unhandledexceptionat0x001A3D22inMyproject.exe:0xC0000005:Accessviolationwritinglocation0x00000000.这是有问题的代码。原来的代码多了一些行,但是下面的代码自己产生了同样的错误。#includeintmain(void){int**p;p=(int**)malloc(sizeof(int*)*5000);for(inti=0;i这是发生错误时的状态。i和p为红色。namevaluetypei4118intp0x007

我可以使用自动要求管理员权限的 GCC 编译 C 程序吗?

我想编译一个程序,在先前执行的程序退出后简单地终止任务。如果没有管理员权限,这是行不通的。我知道您可以从可执行文件属性的兼容性选项卡中选择“以管理员身份运行程序”,但如果可能的话,我想在分发程序时避免这样做。我在Windows8.1上使用GCC4.8.1进行编译。编辑:大约5年后我可能会选择system("tskill")在这种情况下,因为它不需要用户进程的管理员权限。或者使用runas/vbscript进行一些破解。 最佳答案 看起来这可能已经被弄清楚了——你可能想看看这里是否有帮助:Embedmanifestfiletorequ

c - CodeBlocks(适用于 Windows)中的 sleep C 功能无法正常工作

我正在尝试用C(适用于Windows)做一个秒表,代码似乎可以工作,但sleep功能的时间与实时不匹配。进程返回0(0x0)执行时间:1.907秒按任意键继续。问题是执行时间大约是2秒,但应该只有1秒。只是想知道我做错了什么,因为Windows中的sleep功能接受毫秒作为参数,它应该可以工作。这是代码#include#include#includeintmain(){intmilliseconds=0;intseconds=0;intcounter;for(counter=0;counter 最佳答案 您正在休眠,超时为1毫秒。实